package IOTest;

import java.io.*;

public class BufferCharCopy {

    public static void main(String[] args) {

        BufferedReader br = null;
        BufferedWriter bw = null;
        try {
            // 创建源文件和目标文件对象
            File srcFile = new File("dbcp.txt");
            File destFile = new File("dbcp1.txt");

            // 创建 BufferedReader 和 BufferedWriter 对象
            br = new BufferedReader(new FileReader(srcFile));
            bw = new BufferedWriter(new FileWriter(destFile));

            // 使用 String 进行读取和写入
            String data;
            while ((data = br.readLine()) != null) {
                bw.write(data);
                bw.newLine(); // 确保写入新的一行
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            // 关闭资源
            close(bw);
            close(br);
        }
    }

    /**
     * 关闭 Closeable 对象，并处理可能的 IOException。
     *
     * @param closeable 需要关闭的 Closeable 对象，如 BufferedReader 或 BufferedWriter
     */
    private static void close(Closeable closeable) {
        if (closeable != null) {
            try {
                closeable.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

}
